console.log(12345);
/*2020-06-12 node.js
 在电脑的CMD里操作
一. 打开命令提示行的方式（小黑屏 cmd窗口 终端 shell）
    1.windows键+R
    2.开始菜单-运行-cmd--回车
        2.1常用的命令：
            dir 列出当前目录下的所有文件
                如:dir下有Desktop   想进入Desktop 输入cd D 按tab键补全Desktop
             cd 目录名 进入到指定的目录
             md  目录名 创建一个新文件夹 (makedirectory)
             rd 目录名 删除一个文件夹 (removedirectory)
              输入文件名 即可打开
       2.2表示当前目录  输入cd .
           ..表示上一级目录 输入cd ..去上一级目录
       2.3 环境变量（windows变量） 我的电脑--属性--高级系统设置--环境变量--path
            粘贴出来 C:\Users\Administrator\AppData\Roaming\npm 原有的
            我把新创建的文件 粘贴到path路径下C:\Users\Administrator\Desktop\hello
            path 双击 环境变量--新建--粘贴进去C:\Users\Administrator\Desktop\hello 确定 确定 确定 关闭cmd重启一下
            试下 看看在所有文件夹里都能打开hello.txt不 试了一下 是可以的
            跟作用域一样 变量在本目录里找 如果找不到就到path里找
            所以我们可以将一些需要访问的程序和文件的路径添加到path中 这样我没空就可以在任意位置访问这些文件和程序了
        2.4  在命令行任意地方输入 e: 进入E盘
                                 d:进入D盘
二.进程和线程
    进程 点击任务栏（桌面最底端）--任务管理器 看到很多进行 快捷键ctrl+alt+del
        进程负责为程序的运行提供必备的环境 相当于工厂中的车间
     线程 是计算机最小的计算单位 执行进程中的程序 相当于工厂中的工人
        单线程 1个的线程 js chrome
        多线程 多个线程
三.node.js
    是服务器端运行的js运行环境
    采用goole开发的v8引擎运行js代码 使用事件驱动、非阻塞和异步I/O模型等技术提高性能
    可以优化应用程序的传输率和规模
    服务器与数据库进行交互  数据库的数据保存到磁盘里I/O （I指input 输入  O指output输出）
     node用途: 1.web服务API 比如:rest
               2.多人游戏
               3. 后端的web服务 如跨域、服务器端的请求
               4.基于web的应用
               5.多客户端的通信，如即时通信
               node处理请求时是单线程 但是在后台拥有一个I/O线程池
     在图形化窗口打开cmd的方式 就是在桌面新建了一个文件夹hello 里面有一个文件hello.js
     先找到hello.js 点击路径 输入cmd能直接打开该文件所在的命令行目录 输入node hello.js       回车 这个js已经执行了
    在idea里启用node.js 的library编码助理（编码提示） settings--languages&frameworks--node.js&npm--coding anssistance for node.js
    选中lanmbrother项目下提示代码 即可
    原生js标准的缺陷1.没有模块化系统
                   2.标准库少
                   3.没有标准接口
                   4.缺乏管理系统
        需要commonJS进行规范 commonJS对模块的定义十分简单
            1.模块引用
            每一个JS文件就是一个模块 引入js文件用require()函数
            2.模块定义
            3.模块标识 js文件的路径
            全局变量是script标签里window.onload=function(){}之上  才是真正的全局变量只要是在函数里的都是局部变量
             比如: 在window.onload=function(){}里声明的变量 不带var是相对的全局变量但也是局部变量
            引入其他的模块
            在node.js中 通过require()函数引入外部的文件
            require()可以传递一个文件的路径做为参数 node将会根据该路径引入外部文件
            这里的路径 如果是想对路径 必须以.或..开头
/*在node中有一个全局对象global,它的作用和网页中的网页window类似
在全局中创建的变量都会做为global的属性保存
在全局中创建的函数都会做为global的方法保存
arguments说明是在函数里 只有函数里有
arguments.callee这个属性保存是当前执行函数的对象
当node在执行模块中的代码时,它会首先在代码的顶部添加如下代码
function (exports, require, module, __filename, __dirname) {
在代码的最底部添加
}
实际上模块中的代码都是包装在一个函数中执行的,并且函数执行时 传递了5个实参

   1.exports,该对象用来将变量或者函数暴露给外部
   2. require,函数 用来引入外部模块
   3. module,当前模块本身,exports就是模块的属性 既可以用exports导出 也可以用module.exports导出 它俩在本质上是一样的module.exports==exports
   4. __filename, //D:\U\test\lampbrother\尚硅谷nodejs\4.module.js 当前文件的完整路径 绝对路径
   5. __dirname //D:\U\test\lampbrother\尚硅谷nodejs 当前文件夹
 */